package com.java.day4Collection;

import java.util.*;
import java.util.function.Consumer;
import java.util.stream.Collectors;

public class SortDemo {
    public static void main(String[] args) {
//        List<String> list = new ArrayList<>();
//        list.add("hello");
//        list.add("java");
//        list.add("good");
//        list.add("red");
//        list.add("color");
//        list.add("world");
//        Collections.sort(list);
//        for (String s : list) {
//            System.out.println(s);
//        }

        Scanner scanner = new Scanner(System.in);
        List<Person> persons = new ArrayList<>();
        persons.add(new Person(1,"laozhang",30,"男"));
        persons.add(new Person(2,"laoli",80,"女"));
        persons.add(new Person(3,"laowang",60,"男"));
        persons.add(new Person(4,"laoliu",10,"女"));
        persons.add(new Person(5,"laoma",40,"男"));

        List<Person> result = persons.stream()
        //对集合进行筛选
                .filter(p -> p.getGender().equals("男"))
                .filter(p -> p.getAge() > 25)
                .map(p -> {p.setAge(p.getAge()+2);return p;})
                .collect(Collectors.toList());

        result.forEach((p) -> System.out.println(p));
//        //排序
//        //Collections.sort(persons);
//        System.out.println("请选择排序方式：1、按编号排序，2、按年龄排序，3、按姓名排序");
//        int op = scanner.nextInt();
//        switch (op){
//            case 1:
//                //Collections.sort(persons,new IdComparator());
//                Collections.sort(persons, new Comparator<Person>() {
//                    @Override
//                    public int compare(Person o1, Person o2) {
//                        return o2.getId() - o1.getId();
//                    }
//                });
//                Collections.sort(persons,(o1, o2) -> o2.getId()-o1.getId());
//                break;
//            case 2:
//                Collections.sort(persons, new Comparator<Person>() {
//                    @Override
//                    public int compare(Person o1, Person o2) {
//                        return o1.getAge() - o2.getAge();
//                    }
//                });
//                break;
//            case 3:
//                Collections.sort(persons, new Comparator<Person>() {
//                    @Override
//                    public int compare(Person o1, Person o2) {
//                        return o1.getName().compareTo(o2.getName());
//                    }
//                });
//                break;
//            default:
//                System.out.println("输入错误");
//        }
//        //System.out.println(Arrays.toString(persons.toArray()));
////        for (Person person : persons) {
////            System.out.println(person);
////        }
//        persons.forEach((o) -> System.out.println(o));
    }
}
